function Person() {
  if (false) {

    return console.log('参数不合法');
  }
  console.log('aaa');
}
// console.log([].__proto__);
// console.log(Person.__proto__);
// console.log({}.__proto__);
// console.log(new Set().__proto__);

const obj = {
  a: Object.prototype.toString.call(null),
  b: Object.prototype.toString.call([]),
  c: Object.prototype.toString.call(new Set()),
  d: Object.prototype.toString.call(new Person()),
  e: Object.prototype.toString.call(new Map()),
  f: Object.prototype.toString.call(new WeakMap()),
  g: Object.prototype.toString.call(new WeakSet()),
  h: Object.prototype.toString.call(Symbol(1)),
  i: Object.prototype.toString.call(new RegExp()),
  j: Object.prototype.toString.call(undefined),
  k: Object.prototype.toString.call(/s/),
  l: Object.prototype.toString.call(1n),
  // m: Object.prototype.toString.call(BigInt(122)), //   'BigInt' is not defined  no-undef
  // n: Object.prototype.toString.call(new BigInt(122)), // BigInt is not a constructor
  o: Object.prototype.toString.call(() => { }),
  p: Object.prototype.toString.call(false),
  q: Object.prototype.toString.call(true),
  r: Object.prototype.toString.call(new Boolean(1)),
  s: Object.prototype.toString.call(''),

}
Object.keys(obj).forEach(i => {
  // console.log(obj[i].slice(8, -1));
  console.log(obj[i]);
})

/***
 
anchor: ƒ anchor()
at: ƒ at()
big: ƒ big()
blink: ƒ blink()
bold: ƒ bold()
charAt: ƒ charAt()
charCodeAt: ƒ charCodeAt()
codePointAt: ƒ codePointAt()
concat: ƒ concat()
constructor: ƒ String()
endsWith: ƒ endsWith()
fixed: ƒ fixed()
fontcolor: ƒ fontcolor()
fontsize: ƒ fontsize()
includes: ƒ includes()
indexOf: ƒ indexOf()
italics: ƒ italics()
lastIndexOf: ƒ lastIndexOf()
length: 0
link: ƒ link()
localeCompare: ƒ localeCompare()
match: ƒ match()
matchAll: ƒ matchAll()
normalize: ƒ normalize()
padEnd: ƒ padEnd()
padStart: ƒ padStart()
repeat: ƒ repeat()
replace: ƒ replace()
replaceAll: ƒ replaceAll()
search: ƒ search()
slice: ƒ slice()
small: ƒ small()
split: ƒ split()
startsWith: ƒ startsWith()
strike: ƒ strike()
sub: ƒ sub()
substr: ƒ substr()
substring: ƒ substring()
sup: ƒ sup()
toLocaleLowerCase: ƒ toLocaleLowerCase()
toLocaleUpperCase: ƒ toLocaleUpperCase()
toLowerCase: ƒ toLowerCase()
toString: ƒ toString()
toUpperCase: ƒ toUpperCase()
trim: ƒ trim()
trimEnd: ƒ trimEnd()
trimLeft: ƒ trimStart()
trimRight: ƒ trimEnd()
trimStart: ƒ trimStart()
valueOf: ƒ valueOf()
 */